home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / doc / python-launchpad-bugs / examples / team-reported-bugs.py < prev   
Encoding:
Python Source  |  2009-01-08  |  1.5 KB  |  46 lines

  1. #!/usr/bin/env python
  2. #
  3. # This script creates a list of bug numbers reported by lp-users listed
  4. # in the ubuntu-bugcontrol-members.txt file, then a report is made of
  5. # those bug numbers, statuses, importances and summaries
  6. # TODO:
  7. # Fix bugs being listed multiple times if they are targetted to a
  8. # release - it happens with linux if not more
  9.  
  10. from launchpadbugs.connector import ConnectBug, ConnectBugList
  11. from launchpadbugs.basebuglistfilter import URLBugListFilter
  12. import sys
  13.  
  14. BugList = ConnectBugList("text")
  15. Bug = ConnectBug("text")
  16.  
  17. package = sys.argv[1]
  18.  
  19. reporter_file = "ubuntu-bugcontrol-members.txt"
  20.  
  21. url = "https://bugs.launchpad.net/ubuntu/+source/%s/+bugs" % package
  22.  
  23. bug_numbers = [ ]
  24.  
  25. for line in open(reporter_file):
  26.     team_member = line.strip('\n')
  27.  
  28.     bug_filter = URLBugListFilter()
  29.     bug_filter.add_option("reporter", (team_member,))
  30.  
  31.     buglist = BugList(bug_filter(url))
  32.     for item in buglist:
  33.         bug_numbers.append(item.bugnumber)
  34.  
  35. bug_numbers.sort(reverse=True)
  36.  
  37. print "<html><body><table>"
  38. for number in bug_numbers:
  39.     bug = Bug('%s' % number)
  40.     for task in bug.infotable:
  41.     if task.affects.longname == package + ' (Ubuntu)': 
  42.             # bug.reporter could be more the lp display name which might be more
  43.             # informative
  44.             print '<tr><td><a href="http://launchpad.net/bugs/%s">Bug %s</a></td><td>%s</td><td>%s, %s</td><td>%s</td></tr>' % (number, number, bug.reporter, task.status, task.importance, bug.summary)
  45. print '</table></body></html>'
  46.